core: Ensure kernel and initramfs are put into place with fdatasync()
authorColin Walters <walters@verbum.org>
Sat, 5 Jan 2013 00:32:26 +0000 (19:32 -0500)
committerColin Walters <walters@verbum.org>
Sat, 5 Jan 2013 00:32:26 +0000 (19:32 -0500)
Via a new libgsystem API.

src/libgsystem
src/ostree/ot-admin-builtin-update-kernel.c

index 6c736d9309d5ffbc60ed0a58e21f0f8ad609ba10..ce441a7a7bd987265588674a11d62965e81bdf94 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 6c736d9309d5ffbc60ed0a58e21f0f8ad609ba10
+Subproject commit ce441a7a7bd987265588674a11d62965e81bdf94
index b43c74eec49111b3968976df0ce8f77ace383e8d..8e57709010c292639666867370f82b763a8498b1 100644 (file)
@@ -157,9 +157,7 @@ setup_kernel (OtAdminUpdateKernel *self,
   prefix = g_strndup (kernel_name, release - kernel_name);
   self->kernel_path = ot_gfile_get_child_strconcat (self->boot_ostree_dir, prefix, "-", self->release, NULL);
 
-  if (!g_file_copy (src_kernel_path, self->kernel_path,
-                    G_FILE_COPY_OVERWRITE | G_FILE_COPY_ALL_METADATA | G_FILE_COPY_NOFOLLOW_SYMLINKS,
-                    cancellable, NULL, NULL, error))
+  if (!gs_file_linkcopy_sync_data (src_kernel_path, self->kernel_path, cancellable, error))
     goto out;
 
   g_print ("ostadmin: Deploying kernel %s\n", gs_file_get_path_cached (self->kernel_path));
@@ -258,7 +256,7 @@ update_initramfs (OtAdminUpdateKernel  *self,
           goto out;
         }
 
-      if (!g_file_copy (initramfs_tmp_file, initramfs_file, 0, cancellable, NULL, NULL, error))
+      if (!gs_file_linkcopy_sync_data (initramfs_tmp_file, initramfs_file, cancellable, error))
         goto out;
           
       g_print ("Created: %s\n", gs_file_get_path_cached (initramfs_file));